第058篇:VBA之向数组中写数据和从数组中取数据 |
您所在的位置:网站首页 › vba 数组添加数据 › 第058篇:VBA之向数组中写数据和从数组中取数据 |
早上起来,一边换衣服一边想,今天天气这么好,应该去哪吸吸氧、散散心,一度肥肠激动 再一想,我好像好像好像……还有一个报告需要写……可我真的想出去玩 哎呀我裂开了呀…… 另一方面,2020年的运势不算太好,虽然四平八稳,但一直没有让自己满意,于是查看了一下2021年的运势,尚可尚可! 以上内容,纯属迷信,瞎玩瞎看 不过这让我想起来周恩来总理给妻子邓颖超写的信: 我这一生都是坚定不移的唯物主义者,唯有你,我希望有来生。——周恩来 我亦是坚定不移的唯物主义者,却偏偏遇到不知该用什么理论来解释的事。 ************************** 学VBA专用分隔符 ************************** 一、向数组中写数据 Sub 向数组中指定的位置写入数据() Dim arr(1 To 9) '定义arr为有9个位置的数组 arr(3) = "刘" '给第3个位置赋值“刘” arr(5) = "美" '给第5个位置赋值“美” arr(7) = "丽" '给第7个位置赋值“丽” End Sub Sub 循环向数组中写入数据() Dim arr(1 To 4) For Each Rng In [a1:a4] '将a1到a4单元格位置赋给Rng n = n + 1 arr(n) = Rng '再将Rng位置里的值赋给每个数组变量 Next End Sub Sub 常量数组数据写入一般数组() Dim arr() '相当于arr是个没有固定位置数的动态数组 arr = Array("V", "B", "A", 9) ‘将数组函数Array里的值写入数组arr End Sub Sub 单元格区域数据批量写入数组() arr1 = [a1:a4] '注意:当向数组中批量写入多行,结果就是2维数组,如果要转换就用转换函数Application.transpose arr2 = Application.Transpose([a1:a4]) arr3 = [a1:d1] '一列数据转为1维数组只需要用1次转换函数,但如果是一行数据转为1维数组就需要用2次转换函数 arr4 =Application.Transpose(Application.Transpose([a1:d1])) End Sub 二、从数组中取数据 Sub 取数组中指定位置的元素() arr = [a2:a5] MsgBox arr(2, 1) ’取2行1列 MsgBox arr(4, 1) '取4行1列 End Sub Sub 循环取数() arr = [a2:a9] '将单元格区域[a2:a9]的值赋给数组arr For i = 1 To 3 Cells(i, 3) = arr(i, 1) '将数组arr的值赋给第3列单元格 Next End Sub *********************************** Sub 一次性取数() arr = [a2:a5] '将单元格区域[a2:a5]的值赋给数组arr Range("d1:d"&4) = arr '将数组arr的值赋给[d1:d4]区域 End Sub Sub 用转置函数() arr = [a2:a5] '将单元格区域[a2:a5]的值赋给数组arr arr1 = Application.Transpose(arr) '将单列2维数组arr转置为1维数组 [a7:d7] = arr1 '按行的方向给单元格赋数组里的值 [a8:d8] = arr1 [a9:d9] = arr1 End Sub |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |